EEPROM (Electrically Erasable Programmable Read-Only Memory) হলো একটি বিশেষ ধরনের মেমরি যা পাওয়ার বন্ধ হওয়ার পরেও ডেটা সংরক্ষণ করতে সক্ষম। Arduino বোর্ডে বিল্ট-ইন EEPROM থাকে, যা ছোট আকারের ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এটি সাধারণত গুরুত্বপূর্ণ কনফিগারেশন সেটিংস বা ডেটা সংরক্ষণের জন্য ব্যবহার করা হয় যা ডিভাইস পুনরায় চালু হওয়ার পরেও ধরে রাখতে হয়।
Arduino IDE তে EEPROM
লাইব্রেরি অন্তর্ভুক্ত থাকে, যা সহজে EEPROM পড়া ও লেখার জন্য ব্যবহৃত হয়।
Arduino Uno-তে 1024 বাইটের EEPROM মেমরি রয়েছে। প্রতিটি বাইটে একটি 0 থেকে 255 এর মধ্যে মান সংরক্ষণ করা যায়।
EEPROM.write(address, value)
: নির্দিষ্ট address
-এ value
লেখা হয়।EEPROM.read(address)
: নির্দিষ্ট address
থেকে ডেটা পড়ে।EEPROM.update(address, value)
: নতুন মান এবং আগের মান এক না হলে কেবল লেখে, যা মেমরি সুরক্ষিত রাখে।EEPROM.put(address, value)
: বড় ডেটা টাইপ সংরক্ষণের জন্য ব্যবহৃত হয়।EEPROM.get(address, value)
: বড় ডেটা টাইপ পড়ার জন্য ব্যবহৃত হয়।নিচে একটি উদাহরণ দেওয়া হলো যেখানে EEPROM-এ ডেটা লেখা এবং পড়ার প্রক্রিয়া দেখানো হয়েছে।
#include <EEPROM.h>
void setup() {
Serial.begin(9600);
// ডেটা লেখা
EEPROM.write(0, 123); // অ্যাড্রেস 0 এ 123 লেখা
Serial.println("Data written to EEPROM");
// কিছু সময় অপেক্ষা
delay(1000);
// ডেটা পড়া
int value = EEPROM.read(0); // অ্যাড্রেস 0 থেকে ডেটা পড়া
Serial.print("Data read from EEPROM: ");
Serial.println(value);
}
void loop() {
// লুপ খালি রাখা হয়েছে
}
EEPROM.put()
এবং EEPROM.get()
)#include <EEPROM.h>
struct Config {
int setting1;
float setting2;
};
void setup() {
Serial.begin(9600);
// বড় ডেটা লেখা
Config config = {42, 3.14};
EEPROM.put(0, config);
Serial.println("Struct data written to EEPROM");
// কিছু সময় অপেক্ষা
delay(1000);
// বড় ডেটা পড়া
Config readConfig;
EEPROM.get(0, readConfig);
Serial.print("Struct data read from EEPROM: ");
Serial.print(readConfig.setting1);
Serial.print(", ");
Serial.println(readConfig.setting2);
}
void loop() {
// লুপ খালি রাখা হয়েছে
}
EEPROM.update()
ব্যবহার করলে শুধুমাত্র নতুন ডেটা পুরোনো ডেটার চেয়ে ভিন্ন হলে লেখা হয়, যা মেমরির জীবনকাল বাড়ায়।EEPROM থেকে ডেটা মুছে ফেলার জন্য EEPROM.write()
বা EEPROM.update()
ফাংশন ব্যবহার করে প্রতিটি অ্যাড্রেসে 0 বা অন্য মান লেখা যেতে পারে।
উদাহরণ:
void clearEEPROM() {
for (int i = 0; i < EEPROM.length(); i++) {
EEPROM.write(i, 0); // প্রতিটি অ্যাড্রেসে 0 লেখা
}
}
EEPROM ব্যবহার করে Arduino-তে ডেটা সংরক্ষণ করা হলে গুরুত্বপূর্ণ সেটিংস বা ইনফরমেশন পুনরায় পাওয়ার আপের পরেও সুরক্ষিত থাকে। এটি স্মার্ট প্রোজেক্টে গুরুত্বপূর্ণ ডেটা সংরক্ষণের জন্য একটি কার্যকরী উপায়।
common.read_more